// ============================== 通用请求体 (用不上) ============================== //

export class ComReq {
  // —————————————————————————————— 构造方法 —————————————————————————————— //

  constructor() {
    this.obj = {
      headersMap: [],
      dataMap: [],
      uniqueId: '',
    }
  }

  // —————————————————————————————— 转换方法 —————————————————————————————— //

  toObject() {
    return this.obj
  }
}

// ============================== 通用查询体 (最常用) ============================== //

export class ComQuery {
  // —————————————————————————————— 构造方法 —————————————————————————————— //

  constructor() {
    this.obj = {
      page: 0,
      pageSize: 0,
      totalCount: 0,
      orderBy: [],
    }
  }

  // —————————————————————————————— 转换方法 —————————————————————————————— //

  toObject() {
    return this.obj
  }

  // —————————————————————————————— 设置方法 —————————————————————————————— //

  setPage(page) {
    this.obj.page = page
  }

  setPageSize(pageSize) {
    this.obj.pageSize = pageSize
  }

  setTotalCount(totalCount) {
    this.obj.totalCount = totalCount
  }

  // ------------------------------ 设置列表的方法 ------------------------------ //

  setOrderBy(orderBy) {
    this.obj.orderBy = orderBy
  }

  clearOrderBy() {
    this.obj.orderBy = []
  }

  addOrderBy(value) {
    this.obj.orderBy.push(value)
  }

  // —————————————————————————————— 获取方法 —————————————————————————————— //

  getPage() {
    return this.obj.page
  }

  getPageSize() {
    return this.obj.pageSize
  }

  getTotalCount() {
    return this.obj.totalCount
  }

  getOrderBy() {
    return this.obj.orderBy
  }
}
